home *** CD-ROM | disk | FTP | other *** search
/ The Programmer Disk / The Programmer Disk (Microforum).iso / xpro / basic3 / pro5 / encrypt.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1990-04-12  |  1.4 KB  |  47 lines

  1. 100  REM WRITING IN CODE
  2. 105  WIDTH 80
  3. 110  REM IBM BASIC
  4. 120  GOSUB 150:GOTO 180
  5. 130  DIM W$(255),A$(255),A(255):RETURN
  6. 140  PRINT STRING$(80,45):RETURN
  7. 150  CLS:FOR X=1 TO 10:PRINT:NEXT X:RETURN
  8. 160  PRINT:INPUT "Press >RETURN< (Q to quit)  ",R$:IF R$="Q" THEN 170 ELSE RETURN
  9. 170  GOSUB 150:GOSUB 140:PRINT TAB(38)"End.":GOSUB 140:RUN"FILES."
  10. 180  PRINT"Do you want to:":GOSUB 140
  11. 190  PRINT 1,"Encode?"
  12. 200  PRINT 2,"Decode?":GOSUB 140:PRINT 3,"Exit program?":GOSUB 140
  13. 210  INPUT "Which?        ",WHICH:GOSUB 150
  14. 220  ON WHICH GOTO 230,380,170
  15. 230  CLEAR:GOSUB 130:GOSUB 150:INPUT "Type the key number (-30 to 30)   ",N%:PRINT
  16. 240  GOSUB 150:INPUT "Type data for encoding  (use CAPITAL letters only)    ",WORD$
  17. 250  L=LEN(WORD$)
  18. 260  FOR X=1 TO L:A$(X)=MID$(WORD$,X,1):NEXT X
  19. 270  FOR Y=1 TO L:A(Y)=ASC(A$(Y)):A(Y)=A(Y)-N%:NEXT Y
  20. 280  GOSUB 140
  21. 290  FOR Z=1 TO L:W$(Z)=CHR$(A(Z)):NEXT Z
  22. 300  FOR W=1 TO L:WW$=WW$+W$(W):NEXT W
  23. 310  PRINT TAB(26)WW$
  24. 320  GOSUB 140:INPUT "Printout? (Y/N)   ",RP$
  25. 330  IF RP$="Y" THEN LPRINT WW$ ELSE 340
  26. 340  FOR E=1 TO L:W$(E)=CHR$(32):NEXT E
  27. 350  OPEN "O",#1,"CODE.DTA"
  28. 360  PRINT #1,WW$:CLOSE #1
  29. 370  N%=0:GOSUB 150:GOTO 180
  30. 380  ON ERROR GOTO 520
  31. 390  GOSUB 150:INPUT "Code number used?               ",N%
  32. 400  OPEN "I",#1,"CODE.DTA":INPUT #1,WW$:CLOSE #1:CODE$=WW$
  33. 410  L=LEN(CODE$)
  34. 420  FOR X=1 TO L:A$(X)=MID$(CODE$,X,1):NEXT X
  35. 430  FOR Y=1 TO L:A(Y)=ASC(A$(Y)):A(Y)=A(Y)+N%:NEXT Y
  36. 440  GOSUB 140
  37. 450  FOR Z=1 TO L:W$(Z)=CHR$(A(Z)):NEXT Z
  38. 460  FOR W=1 TO L:DC$=DC$+W$(W):NEXT W
  39. 470  PRINT TAB(33)DC$
  40. 480  GOSUB 140:INPUT "Printout? (Y/N) (message will be erased after this)  ",PR$
  41. 490  IF PR$="Y" THEN LPRINT DC$ ELSE 500
  42. 500  KILL "CODE.DTA"
  43. 510  GOSUB 150:GOTO 180
  44. 520  GOSUB 150:GOSUB 140:PRINT TAB(20)"No message for decoding has been recorded"
  45. 530  RESUME 540
  46. 540  GOSUB 140:GOSUB 160:GOSUB 150:GOTO 180
  47.